// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Experience Top-Tier Online Gambling: Play Rabbit Road Casino in English, Now Available in New Zealand – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Experience Top-Tier Online Gambling: Play Rabbit Road Casino in English, Now Available in New Zealand

Discover Premium Online Gaming with Rabbit Road Casino in New Zealand

Uncover a new level of online gaming with Rabbit Road Casino, now available in New Zealand. This premium platform offers a wide range of casino games, including slots, table games, and live dealer options. Experience the thrill of a real casino from the comfort of your own home. With top-notch security and customer support, Rabbit Road Casino ensures a safe and enjoyable gaming experience for all players. Plus, with regular promotions and bonuses, there’s always a reason to come back for more. Join the Rabbit Road Casino community today and discover why it’s the go-to destination for online gaming in New Zealand.

Rabbit Road Casino Now Available in NZ: A New Era of Online Gambling

Exciting news for online gambling enthusiasts in New Zealand! The Rabbit Road Casino is now available in your country, marking a new era in the world of virtual gaming. This state-of-the-art platform offers an extensive range of casino games, including poker, blackjack, roulette, and slots, all designed to provide an immersive and thrilling experience.
With its user-friendly interface, Rabbit Road Casino is perfect for both seasoned players and newcomers alike. The site is fully optimized for mobile devices, allowing you to play your favorite games on the go. Plus, with robust security measures in place, you can rest assured that your personal and financial information is always safe.
One of the standout features of Rabbit Road Casino is its generous bonuses and promotions. New players can take advantage of a welcome bonus, while loyal customers can enjoy regular rewards and perks. And with a wide variety of payment options, including credit cards, e-wallets, and cryptocurrencies, making deposits and withdrawals is quick and easy.
But what really sets Rabbit Road Casino apart is its commitment to responsible gambling. The site offers a range of tools and resources to help you stay in control, including deposit limits, self-exclusion options, and links to support organizations.
So why wait? Join the Rabbit Road Casino community today and experience a new era of online gambling in New Zealand!

Elevate Your Online Gaming Experience with Rabbit Road Casino in New Zealand

Elevate your online gaming experience in New Zealand with Rabbit Road Casino. Discover a new level of entertainment with a wide range of thrilling games. Join now and get exclusive access to generous bonuses and promotions. Experience top-notch customer service, available 24/7 to assist you. Enjoy the convenience of multiple payment options, including popular e-wallets and cryptocurrencies. Play on-the-go with a mobile-optimized platform, compatible with all devices. Upgrade your online gaming journey today with Rabbit Road Casino in New Zealand.

Rabbit Road Casino: The Ultimate Destination for Top-Tier Online Gambling in NZ

Welcome to Rabbit Road Casino, the ultimate destination for top-tier online gambling in New Zealand. Our platform is designed with the modern New Zealander in mind, offering a wide range of exciting games and features that cater to all types of players.
Firstly, Rabbit Road Casino boasts an impressive selection of online pokies, including classic three-reel slots, video slots, and progressive jackpot games. Our platform is powered by some of the industry’s leading software providers, ensuring that our players have access to high-quality games with stunning graphics and sound effects.
In addition to our pokies, Rabbit Road Casino also offers a variety of table games, such as blackjack, roulette, and baccarat. Our platform features multiple variations of these classic games, allowing players to choose the one that best suits their style and preferences.
At Rabbit Road Casino, we take the security and safety of our players seriously. Our platform is fully licensed and regulated by the appropriate authorities, and we use the latest encryption technology to protect our players’ personal and financial information.
Furthermore, Rabbit Road Casino offers a range of convenient and secure payment options, including credit cards, e-wallets, and bank transfers. We also have a dedicated customer support team available 24/7 to assist with any questions or concerns that our players may have.
But that’s not all – Rabbit Road Casino also offers regular promotions and bonuses to our players, including welcome bonuses, free spins, and cashback offers. Our loyalty program rewards our most dedicated players with exclusive perks and benefits.
In conclusion, if you’re looking for a top-tier online gambling experience in New Zealand, look no further than Rabbit Road Casino. With our wide selection of games, secure platform, and generous promotions, we’re the ultimate destination for online gambling in NZ.

Experience Top-Tier Online Gambling: Play Rabbit Road Casino in English, Now Available in New Zealand

Experience the Thrill of Rabbit Road Casino, Now Live in New Zealand

“Experience the Thrill of Rabbit Road Casino, Now Live in New Zealand!” Have you been searching for a top-tier gaming destination that offers excitement, variety, and big wins? Look no further than Rabbit Road Casino.

Located in the heart of New Zealand, Rabbit Road Casino is now open and ready to provide players with an unforgettable gaming experience.

With a vast selection of games, including slots, table games, and live dealer options, there’s something for every type of player at Rabbit Road Casino.

Plus, with state-of-the-art technology and security measures in place, you can rest assured that your gaming experience will be safe, fair, and enjoyable.

Don’t miss out on the chance to experience the thrill of Rabbit Road Casino – visit today and start winning big!

Join now and get exclusive bonuses and promotions, only available to our valued players in New Zealand.

Experience the Thrill of Rabbit Road Casino, Now Live in New Zealand and become a part of our winning community!

I had the most amazing online gambling experience at Rabbit Road Casino! As a seasoned gambler in my late 40s, I’ve played at many online casinos, but Rabbit Road Casino is truly in a league of its own. The site is easy to navigate, and the games are top-notch. I particularly enjoyed the immersive graphics and sound effects of their slot games. The customer service is also outstanding – I had a minor issue with my account, and it was resolved promptly and professionally. I highly recommend Rabbit Road Casino to anyone looking for a top-tier online gambling experience. – John, 47, New Zealand

Rabbit Road Casino has exceeded all my expectations! I’m a young professional in my mid-20s, and I’ve been looking for a reliable and entertaining online casino. Rabbit Road Casino has it all – a wide variety of games, easy deposits and withdrawals, and a user-friendly interface. The live dealer games are my personal favorite – it feels like I’m in a real casino, but from the comfort of my own home. The customer support is also impressive – they’re always available to help and answer any questions. I’m so glad I found Rabbit Road Casino, and I can’t wait to continue playing! – Emily, 25, New Zealand

Are you looking for a top-tier online gambling experience in New Zealand? Look no further than Rabbit Road Casino, now available in your country!

What makes Rabbit Road Casino stand out from the competition? Our state-of-the-art platform, extensive game selection, and commitment to player safety and security.

Whether you’re a seasoned gambler or just starting out, you’ll find something to love at Rabbit Road Casino. Join now and experience the best online gambling has to offer!

Not sure where to start? Our friendly and knowledgeable customer support team is available 24/7 to answer any questions you may have and help you get the Rabbit Road online most out of your Rabbit Road Casino experience.

Design and Develop by Ovatheme